

import static com.cykj.commons.enums.Gex2Enum.*;

/**
 * 设备指令工具类
 *
 * @author yz
 * @date 2021-09-27
 */
public class DeviceOrderUtils {
    /**
     * 根据自定义指令获取真正的设备 order（设置指令）
     *
     * @param order 自定义指令
     * @return 真正的设备 order
     */
    public static String setOrderOf(String order) {
        switch (order) {
            //左开闸
            case "G1":
                //右开闸（镜像模式、反向开闸）
            case "G4":
                return LEFT_OPEN.getOrder();
            //右开闸
            case "G2":
                //左开闸（镜像模式、反向开闸）
            case "G3":
                return RIGHT_OPEN.getOrder();
            case "G5":
                //左常开开闸
                return LEFT_NORMALLY_OPEN_OPEN_GATE.getOrder();
            case "G6":
                //左常开关闸
                return LEFT_NORMALLY_OPEN_CLOSE_GATE.getOrder();
            case "G7":
                //右常开开闸
                return RIGHT_NORMALLY_OPEN_OPEN_GATE.getOrder();
            case "G8":
                //右常开关闸
                return RIGHT_NORMALLY_OPEN_CLOSE_GATE.getOrder();
            case "G9":
                //出向延时时间
                return SET_L3.getOrder();
            case "G10":
                //左边通行语音
                return SET_L4.getOrder();
            case "G11":
                //右边通行语音
                return SET_L5.getOrder();
            case "G12":
                //开关门速度设置
                return SET_D4.getOrder();
            case "G13":
                //断电开闸方向
                return SET_L7.getOrder();
            case "G14":
                //语音音量
                return SET_L12.getOrder();
            default:
                return null;
        }
    }

    /**
     * 根据自定义指令获取真正的设备 order（设置指令）
     *
     * @param order 自定义指令
     * @return 真正的设备 order
     */
    public static String readOrderOf(String order) {
        switch (order) {
            case "G9":
                //出向延时时间
                return READ_L3.getOrder();
            case "G10":
                //左边通行语音
                return READ_L4.getOrder();
            case "G11":
                //右边通行语音
                return READ_L5.getOrder();
            case "G12":
                //开关门速度设置
                return READ_D4.getOrder();
            case "G13":
                //断电开闸方向
                return READ_L7.getOrder();
            case "G14":
                //语音音量
                return READ_L12.getOrder();
            default:
                return null;
        }
    }
}
